package com.dragon.modules.yuegou.service.act;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dragon.common.web.PageRequest;
import com.dragon.modules.yuegou.entity.act.GiftEntity;
import com.dragon.modules.yuegou.model.act.Gift;
import com.dragon.modules.yuegou.request.CompleteInfoListPageRequest;
import com.dragon.modules.yuegou.response.RegisterGiftSituation;

/**
 * 送礼表 服务接口
 *
 * @author pbuilder generated
 * @date 2019-11-19 19:34:47
 * @version 2.0
 */
public interface GiftService extends IService<GiftEntity> {

    /**
     * 注册送礼列表
     * @param page
     * @param query
     * @return
     */
    IPage<Gift> search(PageRequest page, Gift query);

    /**
     * 保存注册送礼活动
     * @param gift
     */
    void saveGift(Gift gift);

    /**
     * 提前结束注册送礼
     * @param id
     */
    void overGift(String id);

    /**
     * 根据id查询注册送礼详情
     * @param id
     * @return
     */
    Gift searchOne(String id);

    /**
     * 定时修改送礼表的状态
     */
    int updateGiftStatus();

    /**
     * 修改排序
     * @param sort
     * @param id
     */
    void updateGiftSort(int sort, String id);

    /**
     * 删除
     * @param by 删除人
     * @param id 送礼id
     */
    void deleteGift(String id,String by);

    /**
     * 查询礼物的赠送情况和使用情况
     * @param id
     * @return
     */
    RegisterGiftSituation searchSituation(String id);

    /****
     * 完善资料分页列表
     * @param page
     * @param query
     * @return
     */
    IPage<Gift> completeListPage(PageRequest page, CompleteInfoListPageRequest query);

    /***
     * 开关
     * @param id 礼品id
     * @param onOff 是否关闭 false-开、true-关
     */
    void startStop(String id, boolean onOff);

    Integer searchBusdRefs(String busdId, String memberId);
}